/******************************************
 *Author:马博文
 *Function:获胜判断
 *Created Date:2013.05.17
 *Last Modified:2013.05.28
 ******************************************/

#include"win.h"
#include "data.h"

int IsWin(int x,int y,int flag)
{
    int n=1,i,j;
    if(x) for(i=x-1;i>=0&&ChessBoard[i][y]==flag;i--) n++;
    if(x<14) for(i=x+1;i<=14&&ChessBoard[i][y]==flag;i++) n++;
    if(n>4) return 1;
    n=1;
    if(y) for(j=y-1;j>=0&&ChessBoard[x][j]==flag;j--) n++;
    if(y<14) for(j=y+1;j<=14&&ChessBoard[x][j]==flag;j++) n++;
    if(n>4) return 1;
    n=1;
    if(x&&y) for(i=x-1,j=y-1;i>=0&&j>=0&&ChessBoard[i][j]==flag;i--,j--) n++;
    if(x<14&&y<14) for(i=x+1,j=y+1;i<=14&&j<=14&&ChessBoard[i][j]==flag;i++,j++) n++;
    if(n>4) return 1;
    n=1;
    if(x&&y<14) for(i=x-1,j=y+1;i>=0&&j<=14&&ChessBoard[i][j]==flag;i--,j++) n++;
    if(x<14&&y) for(i=x+1,j=y-1;i<=14&&j>=0&&ChessBoard[i][j]==flag;i++,j--) n++;
    if(n>4) return 1;
    for(i=0;i<15;i++)
        for(j=0;j<15;j++)
            if(ChessBoard[i][j]==0) return 0;
    return 2;	//平局
}
